package com.service.impl;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.cache.annotation.Cacheable;
import com.dto.BankImg;
import com.dao.ApplyDao;
import com.dto.Apply;
import com.dto.Business;
import com.dto.Imgtab;
import com.service.ApplyService;
import com.util.FenYe;
import com.util.PageF;
import com.util.PageUtilLei;
import com.util.Query;
@Service
public class ApplyServiceImpl implements ApplyService {
	@Autowired
	private ApplyDao applyDao;
	
	/*
	 * tang勇
	 * 添加信用和抵押贷款信息
	 */
	@Override
	public int addApplyInfo(Apply apply) {
		return applyDao.addApplyInfo(apply);
	}

	/*
	 * tang勇
	 * 添加公司贷款信息
	 */
	@Override
	public int addBusinessInfo(Business bus) {
		return applyDao.addBusinessInfo(bus);
	}
	
	/*
	 * ly雷杨
	 * 复审查询
	 */
	@Override
	public List<Apply> fuShen(PageUtilLei pageLei) {
		return applyDao.fuShen(pageLei);
	}

	/*ly
	 * 查询总条数
	 */
	@Override
	public int queryAllApp(PageUtilLei pageLei) {
		return applyDao.queryAllApp(pageLei);
	}
	
	/**
	 * @时间2018年4月20日
	 * @作者:雷杨
	 * 说明:信用贷款复审通过
	 */
	@Override
	public int OKApplyFs(String pay_num) {
		return applyDao.OKApplyFs(pay_num);
	}

	/**
	 * @时间2018年4月20日
	 * @作者:雷杨
	 * 说明:信用贷   复审  未通过 并填写驳回理由
	 */
	@Override
	public int noApplyFs(String pay_num) {
		return applyDao.noApplyFs(pay_num);
	}



	/**
	 * @作者: 杨成龙
	 * @时间: 2018年4月16日
	 * @说明: 查询用户申请详情信息
	 */
	@Override
	//@Cacheable(value="applyxy")
	public List<Apply> queryAllApply(PageF pageF) {
		//System.err.println("5");
		return applyDao.queryAllApply(pageF);
	}
	
	/**
	 * @作者: 杨成龙
	 * @时间: 2018年4月16日
	 * @说明: 查询用户申请详情信息(抵押)
	 */
	public List<Apply> queryAllApplydy(PageF pageF) {
		return applyDao.queryAllApplydy(pageF);
	}

	/**
	 * @作者: 杨成龙
	 * @时间: 2018年4月16日
	 * @说明: 查询用户申请详情信息(企业)
	 */
	public List<Apply> queryAllApplyqy(PageF pageF) {
		return applyDao.queryAllApplyqy(pageF);
	}
	
	/**
	 * @作者: 杨成龙
	 * @时间: 2018年4月16日
	 * @说明: 查询用户贷款人数(信用)
	 */
	@Override
	public int queryTotalNum() {
		return applyDao.queryTotalNum();
	}

	/**
	 * @作者: 杨成龙
	 * @时间: 2018年4月16日
	 * @说明: 查询用户贷款人数(抵押)
	 */
	public int queryTotalNumdy(){
		return applyDao.queryTotalNumdy();
	}
	
	/**
	 * @作者: 杨成龙
	 * @时间: 2018年4月16日
	 * @说明: 查询用户贷款人数(企业)
	 */
	public int queryTotalNumqy(){
		return applyDao.queryTotalNumqy();
	}

	/**
	 * @作者: 杨成龙
	 * @时间: 2018年4月16日
	 * @说明: 审核通过
	 */
	@Override
	public int approve(String pay_num) {
		
		return applyDao.approve(pay_num);
	}

	/**
	 * @作者: 杨成龙
	 * @时间: 2018年4月16日
	 * @说明: 审核未通过
	 */
	@Override
	public int Noapprove(String pay_num) {
		
		return applyDao.Noapprove(pay_num);
	}

	/**
	 * @作者: 杨成龙
	 * @时间: 2018年4月16日
	 * @说明: 查询用户贷款文件(图片)
	 */
	@Override
	//@Cacheable(value="imgtab")
	public List<Imgtab> queryFile(String a) {
		return applyDao.queryFile(a);
	}

	/**
	 * @作者: 杨成龙
	 * @时间: 2018年4月18日
	 * @说明: 查询用户贷款流水文件(图片)
	 */
	//@Cacheable(value="bankImg")
	public List<BankImg> queryLsFile(String b) {
		return applyDao.queryLsFile(b);
	}

	/**
	 * @作者: 杨成龙
	 * @时间: 2018年4月18日
	 * @说明: 初审驳回理由
	 */
	@Override
	public int addSurvey(Map<String,Object> sur) {
		
		return applyDao.addSurvey(sur);
	}
	/**
	 * @作者: 唐文亭
	 * @时间: 2018年4月20日
	 * @说明: 查询所有贷款信息带分页，以及返回所有信息总数
	 */
	@Override
	public List<Apply> queryApplyByFy(FenYe fy) {
		List<Apply> appplys=null;
		if(fy.getPage()==null) {
			fy.setPage(1);
		}
		try {
			Query query=fy.getQuery();
			int a=applyDao.queryRowCount(query);
			fy.setRowCount(a);
			appplys=applyDao.queryApplyByFy(fy);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return appplys;
	}
	
}
